თავი 1. Access  2007-ის ობიექტური მოდელი

1.2. ფორმის მოვლენები (დასაწყისი)
მაგალითი – ფორმის Filter თვისების გამოყენება
დავაპროექტოთ ცხრილი სახელით tbsaati შემდეგი სტრუქტურით:
<nomeri><gvari><tariri><adgili>
ცხრილი შესრულების რეჟიმში შემდეგია:

tbstudenti
ნომერი
გვარი, სახელი
       დაბადების თარიღი
დაბადების ადგილი
1        
ლომია გივი
       02.08.1995
თბილისი
2
ლომიძე პეტრე
       12.08.1995
ქუთაისი
3
ლომაძე გოგი
       12.06.1995
ქუთაისი
4
ლოლაძე მზია
       12.06.1995
ქუთაისი
5
პერია ია
       12.02.1995
თბილისი
6
პირველია ნანა        
       12.02.1995
თბილისი
სურ. 1.6. დაპროექტებული ფორმა 
ჩვენი მიზანია გამოვიყენოთ ფორმის თვისება Filter და მოვახდინოთ ამორჩევა ნომრით, გვარით, დაბადების თვითა და დაბადების ადგილით. ცხრილში მხოლოდ 6 ჩანაწერია. ფორმის ჩატვირთვის შემდეგ ფორმაში ნავიგაციის ღილაკებით შეიძლება ექვსივე ჩანაწერის დათვალიერება. დასმული მიზნის მისაღწევად – მონაცემების ამოსარჩევად, ფორმის მოდულში ჩავწეროთ პროგრამები:

Private Sub Form_Load() ’ფორმის ჩატვირთვის შემდეგ ავტომატურად ალამის Onomeri  მონიშვნა. ჩარჩოში Frame1 ამ ალმის მნიშვნელობაა 1 
Me.Frame1.Value = 1
End Sub

Private Sub Frame1_Click() ’ნებისმიერ ალამზე დაწაკაპუნების შემდეგ ახალი შეკითხვის დასაწერად კურსორის მოთავსება ველში Vsek
Me.Vsek.SetFocus
End Sub
Private Sub Rsek_Click() ’ამორჩევის პროგრამა
If IsNull(Me.Vsek) Then Exit Sub ' თუ ველი არ შეიცავს მონაცემებს, მაშინ ძებნა არ ხორციელდება 
Select Case Me.Frame1.Value
Case 1’ როცა მონიშნულია ალამი Onomeri ამორჩევა ხორციელდება სტუდენტის ნომრით
Me.Filter = " tbstudenti.nomeri = " & Val(Vsek) & ""
Case 2 ’ როცა მონიშნულია ალამი Ogvari ამორჩევა ხორციელდება სტუდენტის გვარით. აქ ყურადღება მიაქციეთ Like ოპერატორის ჩაწერის სინტაქსს
Me.Filter = " tbstudenti.gvari Like '" & Vsek & "*'"
Case 3 ’ როცა მონიშნულია ალამი Otariri ამორჩევა ხორციელდება სტუდენტის დაბადების თვით. აქ ყურადღება მიაქციეთ ველიდან თვის გამოყოფის ჩაწერის სინტაქსს. ველის ფორმატი თარიღია, ამიტომ აქ გამოყენებულია თარიღის ფუნქციიდან თვის გამოყოფის წესი (Month(Date) 
Me.Filter = " month(tbstudenti.tariri) = " & Vsek & ""
Case 4 ’ როცა მონიშნულია ალამი Ogvari ამორჩევა ხორციელდება სტუდენტის გვარით. აქ ყურადღება მიაქციეთ Like ოპერატორის ჩაწერის სინტაქსს
Me.Filter = " tbstudenti.adgili Like '" & Vsek & "*'"
End Select
Me.Vsek = ""
Me.Vsek.SetFocus
End Sub
მაგალითი – ფორმაზე Fstudenti ნავიგაციის ღილაკების დატანა
ფორმაზე Fstudenti სისტემის მიერ შემოთავაზებული ნავიგაციის ღილაკები შევცვალოთ ჩვენს მიერ დაპროეტებული ნავიგაციის ღილაკები. ამ მიზნით ფორმაზე დავიტანოთ ღილაკები სახელებით: Rsemdegi – შემდეგ ჩანაწერზე გადასვლა, Rwina – წინა ჩანაწერზე გადასვლა, Rpirveli – პირველი ჩანაწერისა და Rbolo ¬– ბოლო ჩანაწერის დათვალიერება. გადავმალოთ სისტემური ნავიგაციის ღილაკები. ფორმა Fstudenti შესრულების რეჟიმში შემდეგია/სურ. 1.7/:

                                                სურ. 1.7. ფორმა Fstudenti ნავიგაციის ღილაკებით
ფორმის მოდულში ჩავწეროთ  პროგრამები:
Private Sub Form_Load()’ფორმის ჩატვირთვის შემდეგ ავტომატურად ალამის Onomeri  მონიშვნა. ჩარჩოში Frame1 ამ ალმის მნიშვნელობაა 1 
Me.Frame1.Value = 1
Me.Vsek.SetFocus ’კურსორის მოთავსება ველში Vsek
End Sub
Private Sub Frame1_Click()’ნებისმიერ ალამზე დაწაკაპუნების შემდეგ ახალი შეკითხვის დასაწერად კურსორის მოთავსება ველში Vsek
Me.Vsek.SetFocus
End Sub

Private Sub Rbolo_Click()
On Error Resume Next ’შეცდომების დამმუშავებელი
DoCmd.GoToRecord Record:=acLast ’ბოლო ჩანაწერზე გადასვლა
End Sub
'
Private Sub Rnext_Click()
On Error Resume Next
DoCmd.GoToRecord Record:=acNext  ’შემდეგ ჩანაწერზე გადასვლა
End Sub
'
Private Sub Rpirveli_Click()
On Error Resume Next
DoCmd.GoToRecord Record:=acFirst ’პირველ ჩანაწერზე გადასვლა
End Sub
'
Private Sub Rprevios_Click()
On Error Resume Next
DoCmd.GoToRecord Record:=acPrevious ’წინა ჩანაწერზე გადასვლა
End Sub
'
Private Sub Rsek_Click() ’ამორჩევის პროგრამა
If IsNull(Me.Vsek) Then Exit Sub
Select Case Me.Frame1.Value
Case 1
Me.FilterOn = True ’ფილტრის ჩართვა
Me.Filter = " tbstudenti.nomeri = " & Val(Vsek) & ""
Case 2
Me.FilterOn = True
Me.Filter = " tbstudenti.gvari Like '" & Vsek & "*'"
Case 3
Me.FilterOn = True
Me.Filter = " month(tbstudenti.tariri) = " & Vsek & ""
Case 4
Me.FilterOn = True
Me.Filter = " tbstudenti.adgili Like '" & Vsek & "*'"
Case 5
Me.FilterOn = False ’ფილტრის გამოთიშვა
Me.Refresh   ’ყველა ჩანაწერის ამორჩევა
End Select
Me.Vsek = ""
Me.Vsek.SetFocus
End Sub
ფორმის მოვლენები -ფორმის გაღება, დახურვა

ცხრილის საფუძველზე დავაპროექტოთ დიალოგური ტიპის ფორმა (ფორმის თვისებების Pop Up-ის და Modal-ის მნიშვნელობაა Yes) სახელით Fstudenti. ცხრილში არსებული ველების გარდა დავიტანოთ მართვის ელემენტები: ველი (TextBox) სახელით Vsek – შეკითხვის მისაცემად, ღილაკი (Button) სახელით Rsek – შეკითხვის პროგრამის გამოსაძახებლად და ალმები (Option Button) სახელებით: Onomeri, Ogvari, Otariri, Oadgili. შესრულების რეჟიმში ფორმა შემდეგია/სურ. 1.6/